home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 09 - 1993 / 09.07 Jul 93 / Bedrock Header Files / Support Includes / BRIntl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-04-19  |  17.8 KB  |  555 lines  |  [TEXT/MPS ]

  1. /*========================================================================================
  2. /      File:        BRIntl.h
  3. /      Release Version:    $ 1.0d1 $
  4. /      Creation Date:    November 3, 1989
  5. /      COPYRIGHT 1989-1993 SYMANTEC CORPORATION. ALL RIGHTS RESERVED. UNPUBLISHED -- RIGHTS
  6. /      RESERVED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES. USE OF COPYRIGHT NOTICE IS
  7. /      PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION OR DISCLOSURE.
  8. /      THIS SOFTWARE CONTAINS PROPRIETARY AND CONFIDENTIAL INFORMATION OF SYMANTEC
  9. /      CORPORATION. USE, DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR
  10. /      EXPRESS WRITTEN PERMISSION OF SYMANTEC CORPORATION.
  11. /      RESTRICTED RIGHTS LEGEND
  12. /      Use, duplication, or disclosure by the Government is subject to restrictions as Set
  13. /      forth in subparagraph (c)(l)(ii) of the Rights in Technical Data and Computer
  14. /      Software clause at DFARS 252.227-7013. Symantec Corporation, 10201 Torre Avenue,
  15. /      Cupertino, CA 95014.
  16. /=======================================================================================*/
  17.  
  18.  
  19.  
  20. /*--------------------------------------------------------------------------------------
  21. //    This file is part of the old international implementation.
  22. //    The Bedrock team is in the process of designing a totally new approach.
  23. //    For more details on the new approach please look in the 
  24. //    "…:BEDROCK:INTL:INCLUDES:" folder.
  25. //    The new approach departs from the close tie to characters and characterSets.
  26. //    Instead it bases all internationalization efforts on locale based
  27. //    characters, and character sets, with Unicode as the central set.
  28. /--------------------------------------------------------------------------------------*/
  29.  
  30. #ifndef BRINTL_H
  31. #define BRINTL_H
  32.  
  33. #ifndef BRSUPDEF_H
  34. #include "BRSupDef.h"
  35. #endif
  36.  
  37. #ifndef BRSTR_H
  38. #include "BRStr.h"
  39. #endif
  40.  
  41. #ifndef BRTIME_H
  42. #include "BRTime.h"
  43. #endif
  44.  
  45. #ifdef __cplusplus
  46.   extern "C" {
  47. #endif
  48.  
  49. /* The following are defines to the Unicode Character Set */
  50. typedef enum BR_UniCode
  51. {
  52.     BR_UniCode_kSpace    = 32,
  53.     BR_UniCode_kMinus    = 45,
  54.     BR_UniCode_kNumber0 = 48,
  55.     BR_UniCode_kNumber9 = 57,
  56.     BR_UniCode_kUpperLatinLetterA = 65,
  57.     BR_UniCode_kUpperLatinLetterZ = 90,
  58.     BR_UniCode_kLowerLatinLetterA = 97,
  59.     BR_UniCode_kLowerLatinLetterZ =122
  60. } BR_UniCode;
  61.  
  62. typedef enum BR_CharacterSetId
  63.    {
  64.     BR_CharacterSetId_kCharacterSetIdCurrent,
  65.     BR_CharacterSetId_kCharacterSetIdUnicode
  66.     } BR_CharacterSetId;
  67. /*
  68.    Any field that is unknown in a given environment is defaulted to the
  69.    best guess based upon the fCountry code.  Where the fCountry code is not
  70.    available or unknown, the United States defaults are used!
  71. */
  72.  
  73. /* Error code for BR_CompareStrings */
  74.  
  75. typedef enum BR_CompareErrors
  76. {
  77.     BR_CompareErrors_kError = 32767
  78. } BR_CompareErrors;
  79.  
  80. typedef enum {BR_CharacterSetTypes_kSBCS, BR_CharacterSetTypes_kMBCS, BR_CharacterSetTypes_kDBCS, BR_CharacterSetTypes_kJIS} BR_CharacterSetTypes;
  81. typedef enum 
  82.     {
  83.     BR_TextDirections_kLeftToRight,
  84.     BR_TextDirections_kRightToLeft,
  85.     BR_TextDirections_kTopLeftToBottom,
  86.     BR_TextDirections_kTopRightToBottom
  87.     } BR_TextDirections;
  88.  
  89. #define BR_DATETIME_DAYSINWEEK 10
  90.  
  91. typedef struct BR_SDateTimeNames
  92. {
  93.     BR_BedString fDaysOfWeek[BR_DATETIME_DAYSINWEEK];
  94.     BR_BedString fAbbrDaysOfWeek[BR_DATETIME_DAYSINWEEK];
  95.     BR_BedString fMonths[14];
  96.     BR_BedString fAbbrMonths[14];
  97.     BR_BedString fYears[12];
  98.     BR_BedString fMorning;
  99.     BR_BedString fEvening;
  100.     BR_BedString fMilitary;
  101. } BR_SDateTimeNames, FAR* BR_SDateTimeNamesPtr;
  102.  
  103. typedef short BR_FormattingWidth;
  104.  
  105. typedef unsigned long BR_FloatFormatOptions;
  106.  
  107. #define BR_FltFmt_kUseDefault                (0x00000001L)
  108. #define BR_FltFmt_kUseFieldWidthFiller        (0x00000002L)
  109. #define BR_FltFmt_kForceDigitBeforeDecimal    (0x00000004L)
  110. #define BR_FltFmt_kUseScientificNotation    (0x00000008L)
  111. #define BR_FltFmt_kRightJustify                (0x00000010L)
  112. #define BR_FltFmt_kTruncateNumber            (0x00000020L)
  113.  
  114. typedef struct BR_SFloatFormat
  115. {
  116.     BR_BedString fDecimalSeparator;
  117.     BR_BedString fThousandsSeparator;
  118.     short fThousandsSeparatorPosition;
  119.     BR_BedString fOverflowString;
  120.     BR_BedString fFieldWidthFiller;
  121.     BR_BedString fPositivePattern;                    /*%%F%%#*/
  122.     BR_BedString fNegativePattern;                            /*%%F-%%#*/
  123.     BR_FloatFormatOptions fOptions;
  124. } BR_SFloatFormat, FAR* BR_SFloatFormatPtr;
  125.  
  126.  
  127. typedef unsigned long BR_IntegerFormatOptions;
  128.     
  129. #define BR_IntFmt_kUseDefault                (0x00000001L)
  130. #define BR_IntFmt_kUseFieldWidthFiller        (0x00000002L)
  131. #define BR_IntFmt_kForceDigit                (0x00000004L)
  132. #define BR_IntFmt_kRightJustify                (0x00000008L)
  133.  
  134. typedef struct BR_SIntegerFormat
  135. {
  136.     short fRadix;
  137.     BR_BedString fThousandsSeparator;
  138.     short fThousandsSeparatorPosition;
  139.     BR_BedString fOverflowString;
  140.     BR_BedString fFieldWidthFiller;
  141.     BR_BedString fPositivePattern;                    /*%%F%%#*/
  142.     BR_BedString fNegativePattern;                            /*%%F-%%#*/
  143.     BR_IntegerFormatOptions fOptions;
  144. } BR_SIntegerFormat, FAR* BR_SIntegerFormatPtr;
  145.  
  146.  
  147. typedef unsigned long BR_CurrencyFormatOptions;
  148.  
  149. #define BR_CurrencyFmt_kUseDefault                (0x00000001L)
  150. #define BR_CurrencyFmt_kUseFieldWidthFiller        (0x00000002L)
  151. #define BR_CurrencyFmt_kForceDigitBeforeDecimal    (0x00000004L)
  152. #define BR_CurrencyFmt_kUseAccountingZero        (0x00000008L)
  153. #define BR_CurrencyFmt_kRightJustify                (0x00000010L)
  154. #define BR_CurrencyFmt_kTruncateNumber            (0x00000020L)
  155. #define BR_CurrencyFmt_kUseSymbol            (0x00000040L)
  156. #define BR_CurrencyFmt_kIncludeDecimalDigits        (0x00000080L)
  157.  
  158. typedef struct BR_SCurrencyFormat
  159. {
  160.     BR_BedString fCurrencySymbol;                        /*only here for reference*/
  161.     BR_BedString fDecimalSeparator;
  162.     BR_BedString fThousandsSeparator;
  163.     short fThousandsSeparatorPosition;
  164.     short fMinimumDecimalDigits;
  165.     short fMaximumDecimalDigits;
  166.     BR_BedString fOverflowString;
  167.     BR_BedString fFieldWidthFiller;
  168.     BR_BedString fAccountingZeroString;                    /* -0- */
  169.     BR_BedString fPositivePatternWithCurrencySymbol;        /*$%%F%%#*/
  170.     BR_BedString fNegativePatternWithCurrencySymbol;            /*$%%F(%%#)*/
  171.     BR_BedString fPositivePatternNoCurrencySymbol;        /*%%F%%# dollars*/
  172.     BR_BedString fNegativePatternNoCurrencySymbol;            /*%%F-%%# dollars*/
  173.     BR_CurrencyFormatOptions fOptions;
  174. } BR_SCurrencyFormat, FAR* BR_SCurrencyFormatPtr;
  175.  
  176.  
  177. typedef unsigned long BR_TimeFormatOptions;
  178.  
  179. #define BR_TimeFmt_kUseDefault            (0x00000001L)
  180. #define BR_TimeFmt_kUseFieldWidthFiller    (0x00000002L)
  181. #define BR_TimeFmt_kLeadingZeroOnHour    (0x00000004L)
  182. #define BR_TimeFmt_kLeadingZeroOnMinute    (0x00000008L)
  183. #define BR_TimeFmt_kLeadingZeroOnSecond    (0x00000010L)
  184. #define BR_TimeFmt_kLeadingZeroOnHundredths    (0x00000020L)
  185. #define BR_TimeFmt_kUse12HourTimeFormat        (0x00000040L)
  186.  
  187. typedef struct BR_STimeFormat
  188. {
  189.     BR_BedString fOverflowString;
  190.     BR_BedString fFieldWidthFiller;
  191.     BR_BedString fTimePattern;                        /*%%H:%%M:%%S.%%1 %%2*/
  192.     BR_TimeFormatOptions fOptions;
  193. } BR_STimeFormat, FAR* BR_STimeFormatPtr;
  194.  
  195.  
  196. typedef unsigned long BR_DateFormatOptions;
  197.  
  198. #define BR_DateFmt_kUseDefault            (0x00000001L)
  199. #define BR_DateFmt_kUseFieldWidthFiller    (0x00000002L)
  200. #define BR_DateFmt_kLeadingZeroOnDay     (0x00000004L)
  201. #define BR_DateFmt_kLeadingZeroOnMonth    (0x00000008L)
  202. #define BR_DateFmt_kLeadingZeroOnWeek    (0x00000010L)
  203. #define BR_DateFmt_kLeadingZeroOnYear    (0x00000020L)
  204. #define BR_DateFmt_kIncludeCentury        (0x00000040L)
  205. #define BR_DateFmt_kUseDayNameAbbr            (0x00000080L)
  206. #define BR_DateFmt_kUseMonthNameAbbr            (0x00000100L)
  207.  
  208.  
  209. typedef struct BR_SDateFormat
  210. {
  211.     BR_BedString fOverflowString;
  212.     BR_BedString fFieldWidthFiller;
  213.     BR_BedString fDatePattern;                        /*%%D#/%%M#/%%Y# or %%DN %%MN %%D#%%th, %%Y#*/
  214.     BR_DateFormatOptions fOptions;
  215. } BR_SDateFormat, FAR* BR_SDateFormatPtr;
  216.  
  217.  
  218.  
  219. typedef unsigned long BR_CharacterAttributes;
  220.  
  221. #define BR_CharAttr_kShortDate             (0x00000001L)  /* 1       */
  222. #define BR_CharAttr_kLongDate                (0x00000002L)  /* 2       */
  223. #define BR_CharAttr_kTime                    (0x00000004L)  /* 4       */
  224. #define BR_CharAttr_kCurrency                (0x00000008L)  /* 8       */
  225. #define BR_CharAttr_kNumbers                (0x00000010L)  /* 16       */
  226. #define BR_CharAttr_kText                    (0x00000020L)  /* 32       */
  227. #define BR_CharAttr_kPositiveInteger                (0x00000040L)  /* 64       */
  228. #define BR_CharAttr_kNegativeInteger                (0x00000080L)  /* 128       */
  229. #define BR_CharAttr_kPositiveFloat                (0x00000100L)  /* 256       */
  230. #define BR_CharAttr_kNegativeFloat                (0x00000200L)  /* 512       */
  231. #define BR_CharAttr_kPunctuation                    (0x00000400L)  /* 1024       */
  232. #define BR_CharAttr_kDigit                    (0x00000800L)  /* 2048       */
  233. #define BR_CharAttr_kOpeningPair            (0x00001000L)  /* 4096       */
  234. #define BR_CharAttr_kClosingPair            (0x00002000L)  /* 8192       */
  235. #define BR_CharAttr_kSpecificAlphabetic            (0x00004000L)  /* 16384       */
  236. #define BR_CharAttr_kGenericAlphabetic            (0x00008000L)  /* 32768       */
  237. #define BR_CharAttr_kHexadecimalDigit                (0x00010000L)  /* 65536       */
  238. #define BR_CharAttr_kScientificDigit            (0x00020000L)  /* 131072    */
  239. #define BR_CharAttr_kRomanDigit            (0x00040000L)  /* 262144    */
  240. #define BR_CharAttr_kLeadingByte                (0x10000000L)  /* 268435456 */
  241.  
  242.  
  243. typedef enum BR_SortingConditions
  244. {
  245.     BR_SortConditions_kFull = 0,
  246.     BR_SortConditions_kNoAlpha = 1,
  247.     BR_SortConditions_kNoDiacritical = 2,
  248.     BR_SortConditions_kNoCase = 4,
  249.     BR_SortConditions_kNoSpecial = 8
  250. } BR_SortingConditions;
  251.  
  252. enum BR_SortingWeight
  253. {
  254.     BR_SortWeight_kAlphabetic,
  255.     BR_SortWeight_kDiacritical,
  256.     BR_SortWeight_kCase,
  257.     BR_SortWeight_kSpecial,
  258.     BR_SortWeight_kInvalid
  259. };
  260.  
  261. #define BR_SortValue_kUpperCase 7
  262. #define BR_SortValue_kLowerCase 3
  263.  
  264. #define BR_INTL_LEADBYTETABLESIZE    12
  265.  
  266. typedef unsigned short BR_Country;
  267. typedef unsigned short BR_Language;
  268. typedef unsigned short BR_CodePage;
  269. typedef short BR_TimeDelta;
  270. typedef BR_Float BR_SpericalCoordinates;
  271.  
  272.  
  273. enum
  274. {
  275.     BR_MachineType_kIBM,
  276.     BR_MachineType_kMacintosh
  277. };
  278.  
  279.  
  280. typedef unsigned char BR_MachineType;
  281.  
  282. enum
  283. {
  284.     BR_ByteOrdering_kIntel,
  285.     BR_ByteOrdering_kMotorola
  286. };
  287.  
  288.  
  289. typedef unsigned char BR_ByteOrdering;
  290.  
  291. typedef enum BR_Environment
  292. {
  293.     BR_Environment_kDOS,
  294.     BR_Environment_kWindows,
  295.     BR_Environment_kMacintosh,
  296.     BR_Environment_kOS2,
  297.     BR_Environment_kNT
  298. } BR_Environment;
  299.  
  300. typedef struct BR_SLocalityInformation
  301. {
  302.     BR_MachineType fMachineType;
  303.     BR_ByteOrdering fByteOrdering;
  304.     BR_Country fCountryId;
  305.     BR_Language fLanguageId;
  306.     BR_CodePage fActiveCodePage;
  307.     BR_Environment fActiveOSEnv;
  308.     BR_CharacterSetId fActiveCharacterSetpingId;
  309. } BR_SLocalityInformation, FAR* BR_SLocalityInformationPtr;
  310.  
  311.  
  312. typedef struct BR_SIntlInformation
  313. {
  314.     BR_Country fCountry;
  315.     BR_CodePage fCodePage;
  316.     BR_Language fLanguage;
  317.     BR_Country fOEMCountry;
  318.     BR_CodePage fOEMCodePage;
  319.     BR_Language fOEMLanguage;
  320.     BR_Boolean fMetricSystem;
  321.     BR_CharacterSetTypes fCharacterSetType;        /* SBCS is default */
  322.     BR_TextDirections fCharacterDirection;
  323.     BR_TimeDelta fTimeZone;                        /*minutes difference from GMT*/
  324.     BR_SpericalCoordinates fLongitude;
  325.     BR_SpericalCoordinates fLatitude;
  326.     BR_BedString fListSeparator;
  327.     BR_FormattingWidth fDefaultCurrencyFieldWidth;
  328.     BR_FormattingWidth fDefaultNumberFieldWidth;
  329.     BR_Boolean fDefaultTimeFormat;                /*True = 24 fHour, False = 12 fHour*/
  330.     BR_SDateTimeNamesPtr fDateTimeNames;
  331.     BR_SFloatFormatPtr fFloatNumberFormat;
  332.     BR_SIntegerFormatPtr fIntegerNumberFormat;
  333.     BR_SCurrencyFormatPtr fCurrencyFormat;
  334.     BR_STimeFormatPtr fHour12TimeFormat;
  335.     BR_STimeFormatPtr fHour24TimeFormat;
  336.     BR_STimeFormatPtr fFileSystemTimeFormat;
  337.     BR_SDateFormatPtr fShortDateFormat;
  338.     BR_SDateFormatPtr fLongDateFormat;
  339.     unsigned char fCollate1[256];                            /*each character with regard to case*/
  340.     unsigned short fCollate2[256];                /*Case is secondary sort parameter*/
  341.     unsigned char fUpperCasemap[256];
  342.     unsigned char fLowerCasemap[256];
  343.     BR_CharacterAttributes fCharacterType[256];        /* Defines character types BEDCT_?  */
  344. #ifdef    BR_BUILD_WIN
  345.     HANDLE fSortTables[BR_SortWeight_kInvalid];
  346. #endif
  347.  
  348. #ifdef BR_BUILD_MAC
  349.     Handle fSortTables[BR_SortWeight_kInvalid];
  350. #endif
  351.  
  352.     BR_StringCharacter fSpace;
  353.     BR_StringCharacter fTab;
  354.     BR_SLocalityInformationPtr fLocality;
  355. } BR_SIntlInformation, FAR* BR_SIntlInformationPtr;
  356.  
  357. #ifdef    BR_BUILD_WIN
  358. extern HANDLE BR_gIntlModule;
  359. #endif
  360.  
  361. /* International Procedure Prototypes */
  362.  
  363. BR_EXPORTENTRY(void) BR_IntlTerminate (void);
  364. BR_EXPORTENTRY(BR_Boolean) BR_InitIntl (void);
  365. BR_EXPORTENTRY(BR_Boolean) BR_IsMetric (void);
  366. BR_EXPORTENTRY(BR_Boolean) BR_IsDBCS (void);
  367. BR_EXPORTENTRY(BR_SIntlInformationPtr) BR_GetIntlInfo (void);
  368. BR_EXPORTENTRY(BR_Boolean) BR_SetIntlInfo (BR_SIntlInformationPtr pInfo);
  369.  
  370.  
  371. BR_EXPORTENTRY(BR_Boolean) BR_IsNumeric (BR_StringCharacter c, BR_CharacterAttributes myType);
  372. BR_EXPORTENTRY(BR_Boolean) BR_IsAlpha (BR_StringCharacter c, BR_Boolean typeSpecific);
  373. BR_EXPORTENTRY(BR_Boolean) BR_IsLower (BR_StringCharacter c);
  374. BR_EXPORTENTRY(BR_Boolean) BR_IsUpper (BR_StringCharacter c);
  375. BR_EXPORTENTRY(BR_StringCharacter) BR_ToLower (BR_StringCharacter c);
  376. BR_EXPORTENTRY(BR_StringCharacter) BR_ToUpper (BR_StringCharacter c);
  377. BR_EXPORTENTRY(BR_Boolean) BR_IsWhiteSpaceCharacter (BR_StringCharacter c);
  378. #define BR_IsDigit(_c) BR_IsNumeric(_c,BR_CharAttr_kDigit)
  379. #define BR_IsPunctuation(_c) BR_IsNumeric(_c,BR_CharAttr_kPunctuation)
  380. #define BR_IsLeadingByte(_c) BR_IsNumeric(_c,BR_CharAttr_kLeadingByte)
  381. #define BR_IsAlphaNumeric(_c) BR_IsNumeric(_c,BR_CharAttr_kDigit|BR_CharAttr_kGenericAlphabetic)
  382.  
  383. /*
  384.    Note the following to functions allow us to traverse a string no matter
  385.    if the string is SBCS, DBCS, MBCS, or JIS.
  386. */
  387.  
  388. BR_EXPORTENTRY(BR_Boolean) BR_SetStringCharacterTraversal (BR_CodePage codepage, BR_Country fCountry, BR_Language fLanguage);
  389. BR_EXPORTENTRY(BR_StringPtr) BR_NextStringCharacter (BR_StringPtr pPos);
  390. BR_EXPORTENTRY(BR_StringPtr) BR_PrevStringCharacter (BR_StringPtr pStart, BR_StringPtr pPos);
  391.  
  392.  
  393. BR_EXPORTENTRY(BR_BedString) BR_BedStringFormatFloat (
  394.    BR_Float                     f,
  395.    BR_SFloatFormatPtr        ff,
  396.    BR_FloatFormatOptions    fOptions,
  397.    short                    strMax,
  398.    BR_BedString                    s,
  399.    BR_FormattingWidth          fieldSize,
  400.    short                    fMinimumDecimalDigits,
  401.    short                    fMaximumDecimalDigits);
  402.  
  403. BR_EXPORTENTRY(BR_StringPtr) BR_FormatFloat (
  404.     BR_Float f,
  405.     BR_SFloatFormatPtr ff,
  406.     BR_FloatFormatOptions fOptions,
  407.     short FAR* strMax,
  408.     BR_StringPtr s,
  409.     BR_FormattingWidth fieldSize,
  410.     short fMinimumDecimalDigits,
  411.     short fMaximumDecimalDigits);
  412.  
  413. BR_EXPORTENTRY(BR_BedString) BR_BedStringFormatInteger (
  414.    long          l,
  415.    BR_SIntegerFormatPtr    ifmt,
  416.    BR_IntegerFormatOptions fOptions,
  417.    short      strMax,
  418.    BR_BedString      s,
  419.    BR_FormattingWidth         fieldSize);
  420.  
  421. BR_EXPORTENTRY(BR_BedString) BR_FormatInteger (
  422.    long          l,
  423.    BR_SIntegerFormatPtr    ifmt,
  424.    BR_IntegerFormatOptions fOptions,
  425.    short FAR *      strMax,
  426.    BR_StringPtr     s,
  427.    BR_FormattingWidth         fieldSize);
  428.  
  429. BR_EXPORTENTRY(BR_BedString) BR_BedStringFormatULong (
  430.    unsigned long          l,
  431.    BR_SIntegerFormatPtr    ifmt,
  432.    BR_IntegerFormatOptions fOptions,
  433.    short      strMax,
  434.    BR_BedString      s,
  435.    BR_FormattingWidth         fieldSize);
  436.  
  437. BR_EXPORTENTRY(BR_BedString) BR_FormatULong (
  438.    unsigned long          l,
  439.    BR_SIntegerFormatPtr    ifmt,
  440.    BR_IntegerFormatOptions fOptions,
  441.    short FAR *      strMax,
  442.    BR_StringPtr     s,
  443.    BR_FormattingWidth         fieldSize);
  444.  
  445.  
  446. BR_EXPORTENTRY(BR_BedString) BR_BedStringFormatCurrency (
  447.    BR_Float          c,
  448.    BR_SCurrencyFormatPtr    cfmt,
  449.    BR_CurrencyFormatOptions fOptions,
  450.    short       strMax,
  451.    BR_BedString       s,
  452.    BR_FormattingWidth          fieldSize);
  453.  
  454. BR_EXPORTENTRY(BR_BedString) BR_FormatCurrency (
  455.    BR_Float    c,
  456.    BR_SCurrencyFormatPtr    cfmt,
  457.    BR_CurrencyFormatOptions    fOptions,
  458.    short FAR *    strMax,
  459.    BR_StringPtr    s,
  460.    BR_FormattingWidth    fieldSize);
  461.  
  462.  
  463. BR_EXPORTENTRY(BR_BedString) BR_BedStringFormatDate (
  464.    BR_SDateTimePtr      pdt,
  465.    BR_SDateFormatPtr      dfmt,
  466.    BR_DateFormatOptions fOptions,
  467.    short    strMax,
  468.    BR_BedString       s,
  469.    BR_FormattingWidth          fieldSize);
  470.  
  471. BR_EXPORTENTRY(BR_BedString) BR_FormatDate (
  472.    BR_SDateTimePtr      pdt,
  473.    BR_SDateFormatPtr      dfmt,
  474.    BR_DateFormatOptions fOptions,
  475.    short FAR *    strMax,
  476.    BR_StringPtr      s,
  477.    BR_FormattingWidth          fieldSize);
  478.  
  479.  
  480. BR_EXPORTENTRY(BR_BedString) BR_BedStringFormatTime (
  481.    BR_SDateTimePtr      pdt,
  482.    BR_STimeFormatPtr      tfmt,
  483.    BR_TimeFormatOptions fOptions,
  484.    short       strMax,
  485.    BR_BedString       s,
  486.    BR_FormattingWidth          fieldSize);
  487.  
  488. BR_EXPORTENTRY(BR_BedString) BR_FormatTime (
  489.    BR_SDateTimePtr      pdt,
  490.    BR_STimeFormatPtr      tfmt,
  491.    BR_TimeFormatOptions fOptions,
  492.    short FAR *    strMax,
  493.    BR_StringPtr      s,
  494.    BR_FormattingWidth          fieldSize);
  495.  
  496.  
  497. BR_EXPORTENTRY(BR_StringCompareResult) BR_IntlCompString (BR_BedString s1, BR_BedString s2);  /*uses fCollate2*/
  498.  
  499. BR_EXPORTENTRY(BR_StringCompareResult) BR_IntlEqualString (BR_BedString s1, BR_BedString s2); /*uses fCollate2*/
  500.  
  501. BR_EXPORTENTRY(BR_StringCompareResult) BR_IntlOrderString (BR_BedString s1, BR_BedString s2); /*uses fCollate1*/
  502. BR_EXPORTENTRY(BR_StringCompareResult) BR_CompareStrings (BR_StringPtr p1, BR_StringPtr p2, short l1, short l2, short sortType);
  503.  
  504. BR_EXPORTENTRY(BS_StringLength) BR_CharacterSetTranslate(
  505.     BR_CharacterSetId srcID,
  506.     BR_CharacterSetId destID,
  507.     void FAR * src,
  508.     BS_StringLength cntCharacters,
  509.     void FAR * dest, 
  510.     unsigned short maxlen);
  511.  
  512.  
  513. #ifdef BR_BEDINTL_INIT_ONLY
  514. #ifdef BR_BEDPROCESSIDSCHEME
  515. BR_EXPORTENTRY(short) BR_IntlGetProcessIdCount (void);
  516. BR_EXPORTENTRY(void) BR_IntlSetProcessIdCount (short i);
  517.  
  518. #ifdef BUILD_PM
  519. BR_EXPORTENTRY(PID) BR_IntlGetProcessId (short i);
  520. BR_EXPORTENTRY(void) BR_IntlSetProcessId (PID p, short i);
  521. #endif
  522.  
  523. #ifdef BR_BUILD_WIN
  524. BR_EXPORTENTRY(HANDLE) BR_IntlGetProcessId (short i);
  525. BR_EXPORTENTRY(void) BR_IntlSetProcessId (HANDLE p, short i);
  526. #endif
  527.  
  528. BR_EXPORTENTRY(BR_SIntlInformationPtr) BR_IntlGetIntlInfo (short i);
  529. BR_EXPORTENTRY(void) BR_IntlSetIntlInfo (BR_SIntlInformationPtr ii, short i);
  530. BR_EXPORTENTRY(BR_SIntlInformationPtr) BR_IntlGetDefaultIntlInfo (short i);
  531. BR_EXPORTENTRY(void) BR_IntlSetDefaultIntlInfo (BR_SIntlInformationPtr ii, short i);
  532.  
  533. #else
  534. BR_EXPORTENTRY(BR_Boolean) BR_IntlGetInstalledState (void);
  535. BR_EXPORTENTRY(void) BR_IntlSetInstalledState (BR_Boolean b);
  536. BR_EXPORTENTRY(BR_SIntlInformationPtr) BR_IntlGetIntlInfo (void);
  537. BR_EXPORTENTRY(void) BR_IntlSetIntlInfo (BR_SIntlInformationPtr ii);
  538. BR_EXPORTENTRY(BR_SIntlInformationPtr) BR_IntlGetDefaultIntlInfo (void);
  539. BR_EXPORTENTRY(void) BR_IntlSetDefaultIntlInfo (BR_SIntlInformationPtr ii);
  540. #endif
  541. #endif
  542.  
  543. #ifdef __cplusplus
  544.   }
  545. #endif
  546.  
  547. #endif
  548.  
  549.